package com.hujifang.elasticsearch.model;

import java.io.Serializable;
import java.util.List;


public class EsSearch implements Serializable{
    private static final long serialVersionUID = 558896422036455648L;
    /**
     * 索引库
     */
    private String index;
    /**
     * 索引类型
     */
    private List<String> types;
    /**
     * 查询关键字
     */
    private String keyWord;
    /**
     * 索引域
     */
    private List<String> fields;
    /**
     * 是否可以精确搜索
     */
    private boolean isExactSearch;
    /**
     * 高亮索引域
     */
    private List<EsHighlightField> highLighterFields;
    /**
     * 高亮标签前缀
     */
    private String highLighterPreTag="<span style=\"color:red\">";
    /**
     * 高亮标签后缀
     */
    private String highLighterPostTag="</span>";
    /**
     * 查询的AND条件
     */
    private String mustCondition;
    /**
     * 查询的非条件
     */
    private String mustNotCondition;
    /**
     * 查询的OR条件
     */
    private String shouldCondition;
    /**
     * 范围的查询条件
     */
    private String rangeCondition;

    private int currentPage;

    private int pageSize;

    private String sortByParamNames;

    private String sortByParamTypes;

    public String getIndex() {
        return index;
    }

    public void setIndex(String index) {
        this.index = index;
    }

    public List<String> getTypes() {
        return types;
    }

    public void setTypes(List<String> types) {
        this.types = types;
    }

    public String getKeyWord() {
        return keyWord;
    }

    public void setKeyWord(String keyWord) {
        this.keyWord = keyWord;
    }

    public List<String> getFields() {
        return fields;
    }

    public void setFields(List<String> fields) {
        this.fields = fields;
    }

    public List<EsHighlightField> getHighLighterFields() {
        return highLighterFields;
    }

    public void setHighLighterFields(List<EsHighlightField> highLighterFields) {
        this.highLighterFields = highLighterFields;
    }

    public String getHighLighterPreTag() {
        return highLighterPreTag;
    }

    public void setHighLighterPreTag(String highLighterPreTag) {
        this.highLighterPreTag = highLighterPreTag;
    }

    public String getHighLighterPostTag() {
        return highLighterPostTag;
    }

    public void setHighLighterPostTag(String highLighterPostTag) {
        this.highLighterPostTag = highLighterPostTag;
    }

    public String getMustCondition() {
        return mustCondition;
    }

    public void setMustCondition(String mustCondition) {
        this.mustCondition = mustCondition;
    }

    public String getMustNotCondition() {
        return mustNotCondition;
    }

    public void setMustNotCondition(String mustNotCondition) {
        this.mustNotCondition = mustNotCondition;
    }

    public String getShouldCondition() {
        return shouldCondition;
    }

    public void setShouldCondition(String shouldCondition) {
        this.shouldCondition = shouldCondition;
    }

    public boolean isExactSearch() {
        return isExactSearch;
    }

    public void setIsExactSearch(boolean isExactSearch) {
        this.isExactSearch = isExactSearch;
    }

    public String getRangeCondition() {
        return rangeCondition;
    }

    public void setRangeCondition(String rangeCondition) {
        this.rangeCondition = rangeCondition;
    }

    public int getCurrentPage() {
        return currentPage;
    }

    public void setCurrentPage(int currentPage) {
        this.currentPage = currentPage;
    }

    public int getPageSize() {
        return pageSize;
    }

    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }

    public String getSortByParamNames() {
        return sortByParamNames;
    }

    public void setSortByParamNames(String sortByParamNames) {
        this.sortByParamNames = sortByParamNames;
    }

    public String getSortByParamTypes() {
        return sortByParamTypes;
    }

    public void setSortByParamTypes(String sortByParamTypes) {
        this.sortByParamTypes = sortByParamTypes;
    }
}